简述
通常的web应用需要打成war包 然后配置好Tomcat容器
而SpringBoot启动的时候 外部无须Tomcat容器
因为SpringBoot使用的是自带的嵌入式的Tomcat
在启动器spring-boot-starter-web
的内部自带了spring-boot-starter-tomcat
即嵌入式Tomcat
配置服务器参数
若是外部的Tomcat 想进行相应的配置 须进入conf目录然后在配置文件中进行配置
而要修改内置的Tomcat的话 SpringBoot底层有个ServerProperties类
在配置文件中修改这个类里面含有的的属性(例如port) 就是对服务器的参数进行修改
两种方法可以修改:
1、配置文件中修改
例如:
server.port=8081
server.servlet.context-path=/crud
修改和tomcat相关的配置
ServerProperties类里面有个叫Tomcat的对象 因此:
server.tomcat.XXX=XXX
2、编写一个WebServerFactoryCustomizer:网页Servlet工厂定制器
注:SpringBoot 2.0版本及以上用WebServerFactoryCustomizer
以下版本用EmbeddedServletContainerCustomizer
这个类
通过该方法修改Servlet容器的配置
在自己写的配置类中配置WebServerFactoryCustomizer即可(记得要加@Bean注入):
// 注入到Spring容器中
@Bean
public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer()
{
return new WebServerFactoryCustomizer<ConfigurableWebServerFactory>() {
// 定制嵌入式Servlet容器相关规则
@Override
public void customize(ConfigurableWebServerFactory factory) {
factory.setPort(8082);
}
};
}
其实 这两种方法的底层实现都是相同的
在SpringBoot中 会有很多xxxCustomizer这样的名称的类 可通过修改这些类进行SpringBoot的定制配置
注册三大组件
三大组件 分别是Servlet 和 Filter 和 Listener
由于SpringBoot是打成jar包的 并不是标准的